/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package zooi;

/**
 *
 * @author Acer
 */
public class StatusCodes {
  /*
   *
   *
   *
   *
   *
   public void aantalBiljettenInDBaanpassen(int[] aantallen) {
    CMI_SQL sql = new CMI_SQL(Db.dbhost, Db.dbname, Db.dbpass);
    String sqlQuery = "SELECT * FROM `cmi0806683`.`b_biljetten` WHERE `Pinautomaat`='" + automaatnummer + "'";
    ResultSet res = sql.selectieQuery(sqlQuery);
    int[] inDB = new int[7];
    try {
      while (res.next()) {
        inDB[0] = res.getInt("Aantal5");
        inDB[1] = res.getInt("Aantal10");
        inDB[2] = res.getInt("Aantal20");
        inDB[3] = res.getInt("Aantal50");
        inDB[4] = res.getInt("Aantal100");
        inDB[5] = res.getInt("Aantal200");
        inDB[6] = res.getInt("Aantal500");
      }
    } catch (Exception e) {
      drukaf("Fout in aantalBiljettenInDBaanpassen:\n" + e);
    }
    //Aftrekken
    for (int i = 0; i <= 6; i++) {
      inDB[i] -= aantallen[i];
    }
    //in DB zetten
    sqlQuery = "UPDATE `cmi0806683`.`b_biljetten` SET `Aantal5`='" + inDB[0] + "',`Aantal10`='" + inDB[1] + "',`Aantal20`='" + inDB[2] + "',`Aantal50`='" + inDB[3] + "',`Aantal100`='" + inDB[4] + "',`Aantal200`='" + inDB[5] + "',`Aantal500`='" + inDB[6] + "' WHERE `Pinautomaat`='" + automaatnummer + "'";
    sql.updateQuery(sqlQuery);
  }
   *
   *
   *
   *
  public boolean checkGeblokeerd() {
//Pogingen
    CMI_SQL sql = new CMI_SQL(Db.dbhost, Db.dbname, Db.dbpass);
    String sqlQuery;
    sqlQuery = "SELECT `Pogingen` FROM `b_pinpassen` WHERE `Pasnummer` = '" + tPasnummer + "'"; //opgingen
    drukaf(sqlQuery);
    ResultSet resPog = sql.selectieQuery(sqlQuery);
    int aantalPogingen = 0;
    try {
      //while (resultaat.next()) {
      md5UitDB = resultaat.getString("MD5_Code");
      drukaf(md5UitDB);
      }//
      if (resPog.next()) {
        aantalPogingen = resPog.getInt("Pogingen");
        drukaf("" + aantalPogingen);
      } else {
        drukaf("Staat niet in de DB !!");
      //hij return dalijk een f
      //als in pincode is fout
      }
    } catch (Exception e) {
      drukaf("Fout bij de DB. !!!!!!!!!!!!!!!!!!!\n" + e);
    }
    if (aantalPogingen >= maxCodePogingen) {
      JOptionPane.showMessageDialog(null, "Te vaak FOUT ! pas is geblokkeert");
      return true;
    } else {
      return false;
    }
  }

   *
   *
   *
   *
   public int getAantalCodePogingen() {
//Pogingen
    CMI_SQL sql = new CMI_SQL(Db.dbhost, Db.dbname, Db.dbpass);
    String sqlQuery;
    sqlQuery = "SELECT `Pogingen` FROM `b_pinpassen` WHERE `Pasnummer` = '" + tPasnummer + "'"; //opgingen
    drukaf(sqlQuery);
    ResultSet resPog = sql.selectieQuery(sqlQuery);
    int aantalPogingen = 0;
    try {
      //while (resultaat.next()) {
      md5UitDB = resultaat.getString("MD5_Code");
      drukaf(md5UitDB);
      }//
      if (resPog.next()) {
        aantalPogingen = resPog.getInt("Pogingen");
        drukaf("" + aantalPogingen);
      } else {
        drukaf("Staat niet in de DB !!");
      //hij return dalijk een f
      //als in pincode is fout
      }
    } catch (Exception e) {
      drukaf("Fout bij de DB. !!!!!!!!!!!!!!!!!!!\n" + e);
    }
    return aantalPogingen;
  }
   *
   *
   *
   public char checkPincode() {
    //char ans = 'n'; //n = niet gecheckt
    if (verbindingMaken) {
      //Via de BankServer Doen
      zend("ctpn " + tBanknummer + " " + tPasnummer + " " + dePincode);
      while (nieuwsteBericht.length() > 3) {
        //w8en
      }
      char[] ar = nieuwsteBericht.toCharArray();
      return ar[0];
    } else {
      //Zelf via de MySQL Doen
      drukaf("--> checkPincode <--");
      //controleren en zo...
      if (tBanknummer.equals("24")) {
        drukaf("Hoort bij Lucky Bank ;-) !!");
        //Hoeft niet ff naar Equens
        //Verbinding maken de DB
        CMI_SQL sql = new CMI_SQL(Db.dbhost, Db.dbname, Db.dbpass);
        drukaf("Database...");
        String sqlQuery;
        //Pogingen
        if (checkGeblokeerd()) {
          return 'p';
        }
        ///CODE
        sqlQuery = "SELECT `MD5_Code` FROM `b_pinpassen` WHERE `Pasnummer` = '" + tPasnummer + "'"; //md5pincode ophalen, om te check of het goed was
        drukaf(sqlQuery);
        ResultSet resultaat = sql.selectieQuery(sqlQuery);
        String md5UitDB = "";
        try {
          //while (resultaat.next()) {
          md5UitDB = resultaat.getString("MD5_Code");
          drukaf(md5UitDB);
          }//
          if (resultaat.next()) {
            md5UitDB = resultaat.getString("MD5_Code");
            drukaf(md5UitDB);
          } else {
            drukaf("Staat niet in de DB !!");
          //hij return dalijk een f
          //als in pincode is fout
          }
        } catch (Exception e) {
          drukaf("Fout bij de DB. !!!!!!!!!!!!!!!!!!!\n" + e);
        }
        // van de nu ingevulde code een MD5 maken
        MD5 md5 = new MD5();
        try {
          md5.Update(dePincode, null);
        } catch (Exception e) {
          drukaf("Het lukt niet om een MD5-code te maken...");
        }
        String hash = md5.asHex();
        //Vergelijken
        int aantalPogingen = getAantalCodePogingen();
        if (hash.equals(md5UitDB)) {
          drukaf("Pincode is Goed");
          sql.updateQuery("UPDATE `b_pinpassen` SET `Pogingen` = '0' WHERE `Pasnummer` = '" + tPasnummer + "'");
          return 'g'; //GOED
        } else {
          //FOUT
          drukaf("Pincode is Niet Goed");
          //Eerst in de DB ff eentje erbij
          sql.updateQuery("UPDATE `b_pinpassen` SET `Pogingen` = '" + (aantalPogingen + 1) + "' WHERE `Pasnummer` = '" + tPasnummer + "'");
          return 'f';
        }
      } else {
        // HIJ RETURNT HIER FALSE, WANT PINCODES BIJ ANDERE BANKEN REKENT IE STANDAARD FOUT
        //VOORLOPIG, ZOLANG EQUENS NOG NIET WERKT.
        drukaf("Er kan nog niet bij andere banken worden gepint");
        return 'a'; //Andere Bank
      }
    //nog een false returnen, anders krijg je een compilation error
    //return 'y'; //zomaar iets

    }
//    return ans;
  }*/

  /*
   *
   *  Inloggen          Inl
      Uitloggen         uitl
      Start transactie 	sttr
      Einde transactie 	eitr
      Controleer pin 	Ctpn
      Pin bedrag        Pnbd
      Opvragen saldo 	Ovsa
      Accepteer transactie 	Actr
      Fout              fout




#

#        iii. Foutcodes

          o Foutieve pincode
          o 	Ftpn
          o Hoort niet bij bank
          o 	Hnbb
          o Onvoldoende saldo
          o 	Onsa
          o Bank offline
          o 	Baof
          o Maximaal bedrag bereikt
          o 	Mxbb
          o Pas vervallen / geblokkeerd
          o 	Pvgb
          o Verbinding verbroken
          o 	Vbvb



#

            e. Datastream

            Header 	Toe te voegen data
            b2 	banknr(int)
            B3 	pinbanknr(int) + pinrekeningnr(int) + Banknr(int)
            B4 	uniekecode(int)
            B5 	uniekecode(int) + pincode(int)
            B6 	uniekecode(int) + pinbedrag(int)
            B7 	uniekecode(int) + *saldo(string)
            b8 	Uniekecode(int) + pinbanknr(int) + Banknr(int)
   *
   *
   */

}
